std::literals::chrono_literals:: operator""s
|
Definiert im Header
<chrono>
|
||
|
constexpr
std::
chrono
::
seconds
operator "" s ( unsigned long long secs ) ; |
(1) | (seit C++14) |
|
constexpr
std::
chrono
::
duration
<
/*unspecified*/
>
operator "" s ( long double secs ) ; |
(2) | (seit C++14) |
Bildet ein std::chrono::duration Literal, das Sekunden darstellt.
Inhaltsverzeichnis |
Parameter
| secs | - | die Anzahl der Sekunden |
Rückgabewert
Das std::chrono::duration Literal.
Mögliche Implementierung
constexpr std::chrono::seconds operator""s(unsigned long long s) { return std::chrono::seconds(s); } constexpr std::chrono::duration<long double> operator""s(long double s) { return std::chrono::duration<long double>(s); } |
`-Tags wurde gemäß den Anweisungen nicht übersetzt, da es sich um C++-Code handelt. Die HTML-Struktur und -Attribute bleiben ebenfalls unverändert.
Hinweise
Dieser Operator ist im Namensraum std :: literals :: chrono_literals deklariert, wobei sowohl literals als auch chrono_literals Inline-Namensräume sind. Der Zugriff auf diesen Operator kann erfolgen durch:
- using namespace std :: literals ,
- using namespace std :: chrono_literals , oder
- using namespace std :: literals :: chrono_literals .
Zusätzlich wird innerhalb des Namespace std :: chrono die Direktive using namespace literals :: chrono_literals ; von der Standardbibliothek bereitgestellt, sodass wenn ein Programmierer using namespace std :: chrono ; verwendet, um Zugriff auf die Klassen in der Chrono-Bibliothek zu erhalten, die entsprechenden Literaloperatoren ebenfalls sichtbar werden.
std::string
definiert ebenfalls
operator
""
s
, um Literalobjekte vom Typ
std::string
darzustellen, aber es handelt sich um ein String-Literal:
10s
sind zehn Sekunden, aber
"10"
s
ist eine zweizeichenige Zeichenkette.
Beispiel
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; std::chrono::seconds halfmin = 30s; std::cout << "Eine halbe Minute sind " << halfmin.count() << " Sekunden" " (" << halfmin << ").\n" "Eine Minute und eine Sekunde sind " << (1min + 1s).count() << " Sekunden.\n"; std::chrono::duration moment = 0.1s; std::cout << "Ein Moment ist " << moment.count() << " Sekunden" " (" << moment << ").\n" "Und das Dreifache davon sind " << (moment + 0.2s).count() << " Sekunden.\n"; }
Ausgabe:
Eine halbe Minute sind 30 Sekunden (30s). Eine Minute und eine Sekunde sind 61 Sekunden. Ein Moment ist 0.1 Sekunden (0.1s). Und das Dreifache davon sind 0.3 Sekunden.
Siehe auch
|
Konstruiert neue Duration
(öffentliche Elementfunktion von
std::chrono::duration<Rep,Period>
)
|